// pages/my/index.js
const {
  postLogin,
  getRequest
} = require("../../utils/request")
const {
  rootPath,
  API,
  HomePath,
  RoleMap,
  CLINIC_MANAGER_CODE
} = require("../../utils/const");
const {
  hasRole
} = require("../../utils/userUtil");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    unEffect: 0,
    roleName: [],
    userName: '',
    role: ''
  },
  listClick: function (e) {
    const path = e.currentTarget.dataset.path;
    wx.navigateTo({
      url: path,
    })
  },
  getAlmostUnEffectCount: function () {
    getRequest(API.almostUnEffectCount).then(res => {
      if (res) {
        this.setData({
          unEffect: res
        })
      } else {
        this.setData({
          unEffect: 0
        })
      }
    })
  },
  getUserInfo: function () {
    const that = this;
    const loginType = wx.getStorageSync('loginType');
    const userInfo = wx.getStorageSync('userInfo');
    if (loginType === 'patient') {
      getRequest(API.getPatientById + '/' + userInfo.userId).then(res => {
        console.log(res);
        that.setData({
          userName: res.patientName,
          role: '患者'
        });
      });
    }
    else {
      getRequest(API.getDoctorById + '/' + userInfo.userId).then(res => {
        console.log(res);
        that.setData({
          userName: res.doctorName,
          role: '医生'
        });
      });
    }
  },
  logout: function () {
    wx.clearStorageSync();
    // this.getUserInfo();
    wx.showToast({
      title: '已退出登录',
      icon: 'success',
      duration: 1500,
      complete: function() {
        // 重定向到目标页面
        wx.reLaunch({
          url: '/pages/loginSelection/loginSelection' // 替换为你想重定向的页面路径
        });
        // 或者使用 wx.reLaunch 重定向并关闭所有页面
        // wx.reLaunch({
        //   url: '/pages/login/login' // 替换为你想重定向的页面路径
        // });
      }
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getUserInfo();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },
  hasManagerRolePermission: function () {
    const hasRoles = hasRole(CLINIC_MANAGER_CODE)
    this.setData({
      hasManagerRole: hasRoles
    })
    // "clinic:manger"
    // getUser
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getAlmostUnEffectCount();
    this.hasManagerRolePermission();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})